package com.demo.java.OD1_50.OD42;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

/**
 * @author bug菌
 * @Source 公众号：猿圈奇妙屋
 * @des： 【箱子之形摆放】问题
 * @url： https://blog.csdn.net/weixin_43970743/article/details/145578792
 */
public class OdMain {
    public static void main(String[] args) {
        try {
            Scanner s = new Scanner(System.in);
            String lineValues = s.nextLine(); // 读取输入字符串
            String[] splitStrs = lineValues.split(" "); // 分割输入的字符串和行数
            String str = splitStrs[0];  // 获取字符串
            int n = Integer.parseInt(splitStrs[1]);  // 获取行数

            // 将字符串转换为字符数组
            char[] chars = str.toCharArray();
            List<List<Character>> myLists = new ArrayList<>();

            // 初始化 n 行，每行为空
            for (int i = 0; i < n; ++i) {
                myLists.add(new ArrayList<>());
            }

            int index = 0; // 当前填充的行
            boolean aFlag = true; // 判断填充方向，true 为下行，false 为上行
            // 按照规则填充字符
            for (char c : chars) {
                if (-1 == index) {
                    index = 0;
                    aFlag = true;
                }
                if (n == index) {
                    index = n - 1;
                    aFlag = false;
                }
                myLists.get(index).add(c); // 将字符加入对应行

                if (aFlag) {
                    ++index;
                } else {
                    --index;
                }
            }

            // 输出最终结果
            for (List<Character> list : myLists) {
                for (Character c : list) {
                    System.out.print(c); // 输出每行的字符
                }
                System.out.println(); // 输出每行后换行
            }
        } catch (Exception e) {
            e.printStackTrace();
            System.out.println("input error");
        }
    }
}
